from ..common import *
from .. import basetools

__all__ = [
    'judge_installed_library', # 判断是否注册应用程序
    'judge_app_exists', # 判断应用程序是否存在
]

def judge_installed_library(name = 'simpleui', type=retools.PATT_INSTALLED_APPS)->bool:
    """判断指定应用程序是否已注册（从 INSTALL_APP 中获取判断）"""
    register_obj = basetools.get_list_patt_content(type, basetools.get_django_settings_path())
    del_comment = [retools.PATT_COMMENT.sub(' ', _) for _ in register_obj.split('\n')]
    if name in '\n'.join(del_comment):
        return True
    else:
        return False

def judge_app_exists(app_name: str):
    '''判断应用程序是否存在（常用于新增应用程序时判断先前是否存在）
    
        来源于所有的已注册应用程序可能存在的根路径

        存在返回 True
    '''
    PROJECT_BASE_DIR = djangotools.SCONFIGS.dirname() # 应用程序默认路径（默认值，不允许删除或更改）
    other_app_path = env.get_obj_rootpaths('apps')
    for path in [PROJECT_BASE_DIR,]+other_app_path:
        if os.path.exists(os.path.join(path, app_name)):
            return True
    return False
